#include <gtest/gtest.h>
// #include "auto_decltype.h"
// #include "template.h"
// #include "for_range.h"
// #include "bind_func.h"
#include "lambda_tuple.h"

/**
** @brief:  auto关键字  类型自动推导
** @author: yangxianpku@pku.edu.cn
** @date:   2023/12/16
*/
// TEST(AutoDecltype, auto) {
//   EXPECT_EQ(auto_keyword(), 0);
// }

// TEST(AutoDecltype, decltype) {
//   EXPECT_EQ(decltype_keyword(), 0);
// }

// TEST(TemplateImpl, template) {
//   EXPECT_EQ(template_using(), 0);
// }

// TEST(RangedFor, for_range) {
//   EXPECT_EQ(for_range(), 0);
// }

// std::function test1: 普通使用
// TEST(FuncpTR, function) {
//   EXPECT_EQ(std_function(), 0);
// }

// std::function test2: 回调函数
// TEST(FuncpTR, callback) {
//   EXPECT_EQ(std_function_callback(), 0);
// }

// std::function test3: 条件调用
// TEST(FuncpTR, condition_call) {
//   EXPECT_EQ(std_function_condition_call(), 0);
// }

// std::bind test1: 绑定普通函数
// TEST(StdBind, std_bind) {
//   EXPECT_EQ(std_bind(), 0);
// }


// std::bind test2: 绑定类成员函数
// TEST(StdBind, std_bind_class) {
//   EXPECT_EQ(std_bind_class(), 0);
// }


// TEST(LambdaBind, lambda) {
//   EXPECT_EQ(lambda_capture(), 0);
// }


TEST(LambdaBind, bind) {
  EXPECT_EQ(std_tuple(), 0);
}
